Printer driver, apparatus and methods for conrolling a printer from a devmode data structure

ABSTRACT

Disclosed are methods of controlling operation of a printer, apparatus and computer-readable medium. The embodiments control operation of a printer by displaying to a user a print user interface including selectable document settings and a default/saved settings control, the default/saved settings control displaying a list of at least one saved default setting and command settings, the at least one saved default setting including selected ones of the document settings, the command settings allowing the user to create additional default settings and to delete the at least one saved default setting, and controlling printing of a document to print on the printer using the saved default setting and the selected ones of the document settings.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is related to the following US applications, filedsimultaneously with this application, and the disclosures of which areincorporated by reference herein in their entirety: 1) Ser. No.11/778,829; 2) Ser. No. 11/778,851; 3) Ser. No. 11/778,883; and 4) Ser.No. 11/778,901.

BACKGROUND

Disclosed herein are methods for controlling printing, as well ascorresponding apparatus and computer-readable medium.

Image forming devices such as printers, copiers and multi-functiondevices provide users the ability to print from a device such as adesktop or laptop computer, a handheld computer, or other electronicdevices, to a printer connected to the device. The electronic devicesmay be stand alone devices, or may be connected in a network, such as ina business computing environment, which may include one or moreprinters.

In order for a printer to interface with and function with the computerto which it is connected, a printer driver can typically be installed onthe computer. A printer driver is software which controls the printerfrom the computer. The printer driver may include a user interface whichmay be typically accessed by a user through an operating system or anapplication program, such as a word processing program, a spreadsheetprogram, or other types of programs, and viewed on a display.

Printer drivers in use may include default settings. The defaultsettings may allow a user to set and save default settings for use withthe printer. For example, a user may be able to set default settingssuch as paper size, tray to print from, draft or high-quality mode,various color options, page layout, and the like. When such defaultsettings are set, and the user later prints, the default settings willautomatically be used, usually unless the user manually changes one ormore of the settings. The default settings will also apply across allapplications that the printer is used with, and for all documents. Forexample, the default setting would be used when printing from a wordprocessing application, from a spreadsheet application, from a drawingapplication, from a browser application, and for all documents printedfrom the applications.

When print driver software is created by the manufacturer, themanufacturer may set some manufacturer default settings (also known asfactory defaults), that may be specified by the device's manufacturer.An administrator may set administrator default settings. Further, a usermay set user default settings for the print driver. Current printerdrivers do not include a clear presentation of this information that iseasy to understand and allows intuitive use of default features by usersand administrators.

SUMMARY

According to aspects of the embodiments, there is provided methods ofcontrolling operation of a printer, and corresponding apparatus andcomputer-readable medium. The methods include displaying to a user aprint user interface including selectable document settings and adefault/saved settings control, the default/saved settings controldisplaying a list of at least one saved default setting and commandsettings, the at least one saved default setting including selected onesof the document settings, the command settings allowing the user tocreate additional default settings and to delete the at least one saveddefault setting, and controlling printing of a document to print on theprinter using the saved default setting and the selected ones of thedocument settings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of a system for controlling aprinter;

FIG. 2 illustrates a block diagram of a system for controlling aprinter;

FIG. 3 illustrates a diagram of a print user interface;

FIG. 4 illustrates a diagram of a print user interface;

FIG. 5 illustrates a diagram of a print user interface;

FIG. 6 illustrates a diagram of a print user interface;

FIG. 7 illustrates a diagram of a print user interface;

FIG. 8 illustrates a diagram of a print user interface; and

FIG. 9 illustrates a flowchart of a method for controlling a printer.

DETAILED DESCRIPTION

Aspects of the embodiments disclosed herein relate to methods forcontrolling operation of a printer, and corresponding apparatus andcomputer-readable medium. The disclosed embodiments allow a user toselect and save one or more document settings as a document defaultsetting to be used when printing that particular document.

The disclosed embodiments include methods of controlling operation of aprinter. The methods include displaying to a user a print user interfaceincluding selectable document settings and a default/saved settingscontrol, the default/saved settings control displaying a list of atleast one saved default setting and command settings, the at least onesaved default setting including selected ones of the document settings,the command settings allowing the user to create additional defaultsettings and to delete the at least one saved default setting, andcontrolling printing of a document to print on the printer using thesaved default setting and the selected ones of the document settings.

The disclosed embodiments further include an apparatus for controllingprinting of a document on a printer. The apparatus includes a memorythat stores print driver instructions; and a processor that executes theprint driver instructions to cause printing of the document whenreceiving a print command for printing from a user by: displaying to theuser a print user interface including selectable document settings and adefault/saved settings control, the default/saved settings controldisplaying a list of at least one saved default setting and commandsettings, the at least one saved default setting including selected onesof the document settings, the command settings allowing the user tocreate additional default settings and to delete the at least one saveddefault setting; and controlling printing of a document to print on theprinter using the saved default setting and the selected ones of thedocument settings.

The disclosed embodiments further include a computer-readable mediumthat includes a computer-usable data carrier storing instructions, theinstructions when executed by a computer causing the computer to controlprinting by: displaying to the user a print user interface includingselectable document settings and a default/saved settings control, thedefault/saved settings control displaying a list of at least one saveddefault setting and command settings, the at least one saved defaultsetting including selected ones of the document settings, the commandsettings allowing the user to create additional default settings and todelete the at least one saved default setting; and controlling printingof a document to print on the printer using the saved default settingand the selected ones of the document settings.

The term “application” in the disclosed embodiments refers to a programdesigned for end users of a computing device, such as a word processingprogram, a database program, a browser program, a spreadsheet program, agaming program, and the like. An application is distinct from systemsprograms, which consist of low-level programs that interact with thecomputing device at a very basic level, such as an operating systemprogram, a compiler program, a debugger program, programs for managingcomputer resources, and the like.

A printer “document setting” in the disclosed embodiments refers to asetting of an attribute of a document to be printed that can be selectedand saved by the user. Examples of printer document settings aresettings for stapled or not stapled, paper size, watermark, paper tray,print resolution, and color printing or black and white printing. Aprinter “default setting” in the disclosed embodiments refers to one ormore document settings that are saved as a default setting to beautomatically used for printing unless manually changed at the time ofprinting. A printer “document default setting” in the disclosedembodiments refers to one or more document settings that are saved to beautomatically used for printing the particular document unless thesettings are manually changed at the time of printing.

An “application default setting” in the disclosed embodiments refers toone or more document settings that are saved as an application defaultsetting to be automatically used for printing of documents opened in theapplication unless the settings are manually changed at the time ofprinting. A “manufacturer default setting” in the disclosed embodimentsrefers to one or more document settings that are saved as specified by aprinter manufacturer. An “administrator default setting” in thedisclosed embodiments refers to one or more document settings that aresaved by an administrator, and that override and replace a manufacturerdefault setting.

A “user default setting” in the disclosed embodiments refers to one ormore document settings that are saved by a user as a user defaultsetting, and can replace an administrator default setting. A “savedsetting default” in the disclosed embodiments refers to one or moredocument settings that are saved by a user with an identifying nameselected by the user.

FIG. 1 illustrates a diagram of a system 110. The system 110 may beembodied within devices such as a desktop computer, a laptop computer, ahandheld computer, a handheld communication device, or another type ofcomputing device, or the like. The system 110 may include a memory 120,a processor 130, input/output devices 140, a display 150 and a bus 160.The bus 160 may permit communication and transfer of signals among thecomponents of the computing device 110.

Processor 130 may include at least one conventional processor ormicroprocessor that interprets and executes instructions. The processor130 may be a general purpose processor or a special purpose integratedcircuit, such as an ASIC, and may include more than one processorsection. Additionally, the system 110 may include a plurality ofprocessors 130.

Memory 120 may be a random access memory (RAM) or another type ofdynamic storage device that stores information and instructions forexecution by processor 130. Memory 120 may also include a read-onlymemory (ROM) which may include a conventional ROM device or another typeof static storage device that stores static information and instructionsfor processor 130. The memory 120 may be any memory device that storesdata for use by system 110.

Input/output devices 140 (I/O devices) may include one or moreconventional input mechanisms that permit a user to input information tothe system 110, such as a microphone, touchpad, keypad, keyboard, mouse,pen, stylus, voice recognition device, buttons, etc., and outputmechanisms such as one or more conventional mechanisms that outputinformation to the user, including a display, one or more speakers, astorage medium, such as a memory, magnetic or optical disk, disk drive,a printer device, etc., and/or interfaces for the above. The display 150may typically be an LCD or CRT display as used on many conventionalcomputing devices, or any other type of display device.

The system 110 may perform functions in response to processor 130 byexecuting sequences of instructions or instruction sets contained in acomputer-readable medium, such as, for example, memory 120. Suchinstructions may be read into memory 120 from another computer-readablemedium, such as a storage device, or from a separate device via acommunication interface, or may be downloaded from an external sourcesuch as the Internet. The system 100 may be a stand-alone system, suchas a personal computer, or may be connected to a network such as anintranet, the Internet, or the like.

The memory 120 may store instructions that may be executed by theprocessor to perform various functions. For example, the memory maystore printer driver instructions to allow the system to perform variousprinting functions in association with a particular printer connected tothe system. The printer driver instructions are typically unique to eachspecific type of printer, and the system 110 may store a plurality ofprint drivers each for a different printer.

FIG. 2 illustrates a system 200. The system 200 includes a computer 210,which includes the elements of system 110, including the memory 120, theprocessor 130, I/O devices 140 and a display 150. The computer 210 couldbe a standard personal computer, or could be another type of computingdevice such as a handheld computer, a phone, a laptop computer, or thelike.

The system 200 may also include a keyboard 220 functioning as an inputdevice. The keyboard may be replaced or supplemented by the inputdevices as illustrated in FIG. 1.

The system 200 may also include a display 230 functioning as an outputdevice for displaying images generated or received by the computer 210,corresponding to display 150 shown in FIG. 1. The display 230 maydisplay images to be viewed by a user, such as various applicationprograms, a user interface (UI), text, photographic images, or the like.For example, the display may generate a user interface in response to aprint driver stored in memory 120, such as a user interface for theprint driver. The print driver could also be stored in a memory in anetwork that the computer 210 is connected to, such as in a networkserver.

The system 200 may have a printer 240 connected thereto for printingdata such as images, text, or the like in response to a user directingthe computer 210 to print, for example. In response to such a printcommand, the processor will typically cause the print driver tocommunicate with the printer to perform the needed printing.

The system 200 may be connected to a network, such as such as anintranet, the Internet, a wireless network, or the like. In addition,the system 200 may be connected to a plurality of printers such asprinter 240. The plurality of printers may be of a same printer type orof varying printer types.

FIG. 3 illustrates a printer user interface 310 that may be displayed ona display of computer 210. The printer user interface 310 may be invokedand displayed when a user selects a print function on the computer 210,typically using an input device such as keyboard 220, for example. Theuser may typically select a printer in the printer selection area 320.The user will typically be able to select from all printers for which aprint driver has been loaded into memory of the computer 210. In thecase of the FIG. 3 example, the user can select from printers throughthe use of a drop-down menu, and printers other than the one shown maybe selected. Upon selection of properties 330, a further printer userinterface 410 will be displayed. The print user interfaces 310, 410 areexample interfaces, and other print user interfaces may be used.

FIG. 4 illustrates an exemplary diagram of a further printer userinterface 410 that may be displayed on a display of computer 210, forexample. The printer user interface 410 includes one or more printerdocument settings 420 that may be selected and set by the user. Thedocument settings 420 are settings of an attribute of a document to beprinted. The user may select and save different printer documentsettings 420 prior to printing. For example, the printer documentsettings may include paper, output, special pages, layout, watermark,image options, advanced, and so forth. The paper setting may allowselection of a paper size, a paper color, or other paper features. Theoutput setting may include a selection of 1 or 2 sided printing, a printquality, a destination, or the like.

A layout setting may allow selection of page layout features such asportrait, landscape, number of sheets per page, or the like. A watermarksetting may allow selection of watermark features such as draft,confidential, print in background, or the like. An image options settingmay allow selection of features such as application reduce/enlarge,PostScript pass-through, mirrored output, or the like. An advancedsetting may allow selection of features such as booklet layout, imagecolor management, or the like.

The printer document settings shown and described herein are onlyexamples. Any printer document settings may be used including those thatare selectable by the user.

The printer user interface 410 also shows printer default setting 430that may be saved by a user. After selecting document settings 420, theuser may save the printer document settings 420 for use as a printerdefault setting. This may be accomplished with the printer defaultsettings 430, which functions in the defaults/saved settings control. Inthe example shown in FIG. 3, this may be done with the use of adrop-down menu, that allows saving of the selected document settings 420as a printer default setting (driver default), as an application defaultsetting, under a user selected name as a saved default setting, or as adocument default setting.

When the selected printer settings are saved as driver defaults, theprinter settings may be used when the user selects the correspondingprint driver via selection of the printer. Different types of printershave different print drivers, and selection of a particular printer forprinting will open the corresponding print driver. If the documentsettings 420 have previously been saved as driver defaults, they may beused for printing with the corresponding printer unless the usermanually changes the saved printer settings.

The user may also save the document settings 420 as a document defaultsetting. When the document settings are saved as a document defaultsetting, anytime the user prints from the default document with thecorresponding printer, the document default setting will be used unlessthe user manually changes the document settings. For example, the usermay save the document settings 420 as Document Default, as shown in FIG.4. When the user prints the particular document with the correspondingprinter, the default document setting will be invoked for printing. Inparticular, if the user, after saving the document settings 420 as adocument default setting, selects print when the particular document isopen, a printer user interface such as printer user interface 310 may bedisplayed. If the user then selects OK, the printing will commence withthe Document Default setting, and the document settings that were savedwill be used for printing.

The embodiments may automatically provide the user with the option ofsaving the documents settings as a document default setting with theDocument Default as shown in FIG. 4, or may use the current name of thedocument in providing the document default setting. For example, if thedocument is named March Expenses, the drop-down menu may provide theoption to save as “March Expenses Default.”

Additionally, the embodiments allow the user to save documents settingsas a saved default setting using a name that the user chooses. Forexample, the user can select any name to save document settings forlater use using the dropdown menu of FIG. 4, using the Save As feature440. The user can select a name and then invoke the saved settings forthat name using the dropdown menu when printing a document.

FIG. 5 illustrates an exemplary diagram of a further printer userinterface 510. The printer user interface 510 is illustrated with thecolor options document setting selected by a user, and with office colorselected to black and white. Additionally, the default setting 530 hasbeen selected as a document default, in this example April ExpensesDefault. The dropdown menu would allow saving this setting in otherways, such as a driver default (not specific to any application), undera default name selected by a user, or as an application default.

The print drivers in the embodiments may provide the user with a printeruser interface that gives the user a choice of saving printer documentsettings as a default document setting of the specific document the useris using at that time. Thus, if the user is in a document named AprilExpenses, the print driver may include the option of save as AprilExpenses Default, as shown in FIG. 5. Alternatively, the drop-down listmay include a list of plural document default settings that the user maychoose from, and more than one document default setting could be savedat the same time.

Additionally, the user can save a first set of document settings (one ormore document settings) as a first document default setting for a firstdocument, and save a second set of document settings as a seconddocument default setting for a second document. For example, the usercould save a first set of document settings as an April Expenses ReportDefault setting and save a second set of document settings as a BusinessPlan 1 Default setting. The first and second document default settingsmay have the same document settings or different document settings. Anynumber of such document settings may be saved by a user. The first andsecond document default settings may also be saved for first and seconddocuments created in different applications.

If the user has saved document settings as a document default setting,and later attempts to print that document, the document default settingwill be used for printing. However, the user can manually change one ormore of the document settings saved as the default document settingprior to printing. As an example, when the user selects print, the usercould manually change the document setting previously saved as 1-sidedprint in a document default setting to 2-sided print. If the user doesnot save this change as a default setting, but instead clicks OK toprint the particular document, the document will be printed with the2-sided print option and the other document settings that have beensaved as the document default setting.

The user may also save the 2-sided print change as a document defaultsetting, in which case the document default setting is updated. However,where the user does not save the changed document setting as a documentdefault setting, but instead prints without saving the changed documentsetting, the changed document setting will be temporarily used forprinting, but will eventually revert to the originally saved documentdefault setting. The reversion to the originally saved document defaultsetting for printing will occur either after that particular print job(i.e., when the OK button in the FIG. 3 print user interface is selectedand printing occurs), or after the document is closed.

Embodiments may also include ways of displaying the status of a saveddefault setting. For example, where a saved default setting has beenloaded by use of the dropdown, for example, and then the user physicallychanges one of the document settings, the embodiments may provide avisible indicator that at least one of the document settings has beenchanged from those in the loaded default setting. As shown in FIG. 5,the April Expenses Default has been loaded as a document defaultsetting. When this document default setting is loaded, the printer userinterface 510 will display the various document settings that have beensaved as the April Expenses Default, such as paper size, color, stapled,and so forth as shown in FIGS. 4 and 5. If the user then changes one ofthe document settings that have been saved as the default setting, theembodiments may include a visual indication such as the asterisk symbol540. Other types of visual indications could be used, such as display ofa different symbol, change of color in the dropdown menu, a fontemphasis, or some other visual indication.

Embodiments may set a priority to saved default settings where more thanone saved default setting is relevant to a particular print job, and theuser does not select between the saved default settings. For example,where a user is printing an April Expenses document that is in an Excelspreadsheet application, and the user has saved a corresponding documentdefault setting, an application default setting (for the Excelapplication) and a print driver default setting for the printer, theembodiments may prioritize the default setting to use first any saveddocument default setting, then any application default setting whenthere is no document default setting, and then a print driver defaultsetting when there is no document default setting and no applicationdefault setting. This could occur when the user simply selects OK fromthe printer interface 310 without clicking on properties 330 in FIG. 3.The embodiments could then use the default setting with the highestpriority, in this case the April Expenses document default setting.Embodiments may use any order of priority for the default settings.

However, embodiments also will provide a user with the ability to selectone of the saved default settings with a lower priority for a particularprint job. For example, if a user has saved certain document settings asa document default setting such as April Expenses Default, and has alsosaved certain document settings as a user-named default setting, and theuser is printing the April Expenses document, the user could select toprint with the lower priority user-named default setting by clicking onproperties 330 in FIG. 3, and either selecting a previously saveduser-named default setting or creating a new user-named default settingby using the Save As feature, and using the default setting to print.

The embodiments could continue to use the user-named default setting forprinting of the document while the document is opened. Then, after thedocument is closed, the embodiments could revert to printing using saveddefaults in order of their priority, which could be first use documentdefault settings, then use application default settings, and then usedriver default settings, if any.

A user may also select to print a document by using what is known as a“quick print.” Such a quick print may occur when the user selects aprint icon, where no print user interface is opened, but the documentsimply prints in response to selection of the print icon, for example.During such a quick print, if the user has previously saved documentssettings as a default setting, such as a document default setting orapplication default setting, embodiments may use the document settingsfrom the default setting, such as a document default setting, during thequick print.

FIG. 6 illustrates an exemplary diagram of a further printer userinterface 610. The printer user interface 610 includes a defaults/savedsettings control 620 that includes functionality allowing a user tocreate various default settings, and to manage and display the settings.Through the use of the defaults/saved settings control 620, the user maycreate and manage various default settings discussed herein for use withprinting, such as a driver default setting, a document default setting,an application default setting, a user-named default setting, anadministrator default setting, and a user default setting.

The defaults/saved settings control 620 will allow the user to view anydefault settings that have previously been created by the user, tocreate new default settings, to delete default settings, and to renamedefault settings. The defaults/saved settings control 430 shown in FIG.4 illustrates the Save As 440 functionality allowing a user to save anew default setting. The user may also save as a driver default setting,save as an application default setting, as well as Rename a defaultsetting and Delete a default setting.

The defaults/saved settings control 620 also includes the Save As 630,Rename, Delete, and Driver Default functionality, as well as anAdministrator Defaults 640. The administrator default setting allows auser with administrative privileges to save document settings as anadministrator default setting. Embodiments may prevent saving of anadministrator default setting unless the user is logged as anadministrator, by not displaying the Administrator Defaults in thedefaults/saved settings control 620. Thus, in a network environment withmany users and one or a few administrators, an administrator may setadministrator defaults on a particular print driver before distributionof the driver to users. Embodiments may then restrict the documentsettings that would otherwise be displayed to a user based on theadministrator default setting. The administrator can thus control whatsettings will be available for selection by users. Further, embodimentsmay only display the Administrator Defaults such as shown in FIG. 6 toan administrator.

FIG. 7 illustrates an exemplary diagram of a further printer userinterface 710. The printer user interface 710 includes a defaults/savedsettings control 720. The defaults/saved settings control 720 allows theuser to manage the various control and save options for defaultsettings, and in this example includes a User Defaults setting 730allowing a user to save document settings as a user default setting.Thus, embodiments may determine whether a user has administrative rightsor user rights, typically based on how the user has logged in, andinclude within the defaults saved settings control a display of UserDefaults or Administrator Defaults (if these have been created andsaved). This allows the interface user, whether a user or anadministrator, to quickly be able to review any saved default settings,to create new default settings and to rename default settings in an easyto use and intuitive manner.

FIG. 8 illustrates an exemplary diagram of a further printer userinterface 810. The printer user interface 810 includes a defaults/savedsettings control 820. The example shown includes an application defaultsetting, Microsoft Office Word Defaults, shown as selected in thedefaults/saved settings control 820. Further shown as selectable andpreviously saved default settings are the Transparency Saved Setting,the Booklet Saved Setting, both user-named saved default settings, theDriver Defaults, as well as the Save As features, the Delete feature andthe Rename feature.

When applying a default setting such as a document default setting, thedocument settings are saved in a document default setting during what iscalled MergeAndConvert in the print driver world. This is when thedriver has the opportunity to validate and convert an incoming DEVMODEinto a valid DEVMODE. A DEVMODE is a data structure that stores theprint settings that are to be applied with a particular job. It may beunderstood as a rudimentary “Print Ticket” in the form of a block ofmemory. By specifically targeting this particular callback, the documentdefault setting is inserted into the DEVMODE before the user really hasa chance to do anything in the application. Then, if the user selectsprinting such as through a print icon, or opens up properties in theprinter user interface, the document default setting is applied.

However, if the user modifies the document settings in the printer userinterface and does not save the modified document settings as a documentdefault setting, a special flag is placed in the DEVMODE data structureto indicate the user has changed their settings in the UI of anapplication. The flag informs us not to save the changed settings asinto the document default setting during MergeAndConvert. As such, oncethe user has made changes to the documents settings, they will be usedduring printing until we get a virgin DEVMODE again, which does notoccur until the document is re-opened. This seems to follow the idealusage of most users. However, the flag is not set when opening up theprint dialog from within the context of the “Printers and Faxes” folder.In this context, the user is really changing their overall defaults, andis not then set, or it would always be there when we get in the default(virgin) DEVMODE. So, the flag is only set from within a document, andNOT from within the context of the “Printers and Faxes” folder.

Printing from a computer to a printer occurs in one of two modes, directconnect or point and print. Direct connect is where the driver stored onthe computer sends print jobs directly to the printer. Point and printis where a server is connected to one or more client computers, theserver acts as a print server, and the print jobs go from the clientcomputer to the print server and then to the printer.

In a point and print environment, what typically occurs is theapplication and the spooler bundle up with is called EMF (EncapsulatedMeta File) data, and pass it along with the DEVMODE to the print server.On the print server, the EMF file Encapsulated Meta File) is actuallyturned into PDL (e.g. PostScript or PCL). This is when the DEVMODEsettings are typically converted into actual commands the printer canunderstand. However, this occurs on the server, not on the clientcomputer, so the document defaults must have been applied prior tosubmitting the job to the server, or they could not be found.Accordingly, the document default setting is pushed to the print serverbefore the application is opened, ensuring that it's ‘default’ DEVMODEwas really one that was already manipulated. Specifically, the defaultsare set during MergeAndConvert for the DEVMODE callback. Thus, when theDEVMODE is packaged up with the EMF file and sent to the server, italready has the relevant changes made to it, and the output is what theuser would have expected.

Embodiments as disclosed herein may also include computer-readable mediafor carrying or having computer-executable instructions or datastructures stored thereon. Such computer-readable media can be anyavailable media that can be accessed by a general purpose or specialpurpose computer. By way of example, and not limitation, suchcomputer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or otheroptical disk storage, magnetic disk storage or other magnetic storagedevices, or any other medium which can be used to carry or store desiredprogram code means in the form of computer-executable instructions ordata structures. When information is transferred or provided over anetwork or another communications connection (either hardwired,wireless, or combination thereof) to a computer, the computer properlyviews the connection as a computer-readable medium. Thus, any suchconnection is properly termed a computer-readable medium. Combinationsof the above should also be included within the scope of thecomputer-readable media.

Computer-executable instructions include, for example, instructions anddata which cause a general purpose computer, special purpose computer,or special purpose processing device to perform a certain function orgroup of functions. Computer-executable instructions also includeprogram modules that are executed by computers in stand-alone or networkenvironments. Generally, program modules include routines, programs,objects, components, and data structures, etc. that perform particulartasks or implement particular abstract data types. Computer-executableinstructions, associated data structures, and program modules representexamples of the program code means for executing steps of the methodsdisclosed herein. The particular sequence of such executableinstructions or associated data structures represents examples ofcorresponding acts for implementing the functions described in suchsteps.

FIG. 9 illustrates a flowchart of a method of controlling a printer, aswas further described herein. The method starts at 9100. At 9200, aprint user interface is displayed. The print user interface includes theselectable document settings and the default/saved settings control.

At 9300, printing of the document is controlled using the saved defaultsetting and the selected document settings. At 9400, the method ends.

It will be appreciated that various of the above-disclosed and otherfeatures and functions, or alternatives thereof, may be desirablycombined into many other different systems or applications. Also thatvarious presently unforeseen or unanticipated alternatives,modifications, variations or improvements therein may be subsequentlymade by those skilled in the art which are also intended to beencompassed by the following claims.

1. A method of controlling operation of a printer, comprising:displaying to a user a print user interface including selectabledocument settings on a screen and a default/saved settings control onthe screen while displaying the selectable document settings, thedefault/saved settings control displaying a list of at least one saveddefault setting and command settings, the at least one saved defaultsetting including selected ones of the document settings, the commandsettings allowing the user to create additional default settings and todelete the at least one saved default setting the default/saved settingscontrol being expandable to show expanded default/saved settingscontrols while displaying the selectable document settings and thedefault/saved settings control being collapsible to show reduceddefault/saved settings controls while displaying the selectable documentsettings; and controlling printing of a document to print on the printerusing the saved default setting and the selected ones of the documentsettings.
 2. The method of claim 1, further comprising receiving anindication from the user to create at least one of the additionaldefault settings, and adding the at least one additional default settingto the list when created by the user.
 3. The method of claim 2, whereinthe command settings further allow the user to rename the saved defaultsetting and to rename the at least one additional default setting. 4.The method of claim 1, wherein the list includes at least one of anapplication default setting, a document default setting, a user defaultsetting, and a user-named default setting.
 5. The method of claim 4,further comprising receiving an indication from the user that the userdesires to print with a selected default setting selected from theapplication default setting, the document default setting, the userdefault setting, and the user-named default setting, and controllingprinting using selected default setting.
 6. The method of claim 5,further comprising: receiving an indication from the user of a change toone of the document settings after the user has selected the selecteddefault setting; and displaying a visual indication in the default/savedsettings control that the user has selected a document setting differentfrom the document settings saved as the selected default setting.
 7. Themethod of claim 5, further comprising determining whether the user is anadministrator, and allowing the user to save the selected documentsettings as an administrator default setting only if the user is anadministrator.
 8. The method of claim 7, further comprising displayingthe administrator default setting in the list only if the user is anadministrator.
 9. An apparatus for controlling printing of a document ona printer, comprising: a memory that stores print driver instructions;and a processor that executes the print driver instructions to causeprinting of the document when receiving a print command for printingfrom a user by: displaying to the user a print user interface includingselectable document settings on a screen and a default/saved settingscontrol on the screen while displaying the selectable document settings,the default/saved settings control displaying a list of at least onesaved default setting and command settings, the at least one saveddefault setting including selected ones of the document settings, thecommand settings allowing the user to create additional default settingsand to delete the at least one saved default setting the default/savedsettings control being expandable to show expanded default/savedsettings controls while displaying the selectable document settings andthe default/saved settings control being collapsible to show reduceddefault/saved settings controls while displaying the selectable documentsettings; and controlling printing of a document to print on the printerusing the saved default setting and the selected ones of the documentsettings.
 10. The apparatus of claim 9, wherein the processor receivesan indication from the user to create at least one of the additionaldefault settings, and adds the at least one additional default settingto the list when created by the user.
 11. The apparatus of claim 10,wherein the processor further controls printing by allowing the user torename the saved default setting and to rename the at least oneadditional default setting using the command settings.
 12. The apparatusof claim 9, wherein the list includes at least one of an applicationdefault setting, a document default setting, a user default setting, anda user-named default setting.
 13. The apparatus of claim 12, wherein theprocessor further controls printing by receiving an indication from theuser that the user desires to print with a selected default settingselected from the application default setting, the document defaultsetting, the user default setting, and the user-named default setting,and controlling printing using selected default setting.
 14. Theapparatus of claim 13, wherein the processor further controls printingby: receiving an indication from the user of a change to one of thedocument settings after the user has selected the selected defaultsetting; and displaying a visual indication in the default/savedsettings control that the user has selected a document setting differentfrom the document settings saved as the selected default setting. 15.The apparatus of claim 13, wherein the processor further controlsprinting by determining whether the user is an administrator, andallowing the user to save the selected document settings as anadministrator default setting only if the user is an administrator. 16.The apparatus of claim 15, wherein the processor further controlsprinting by displaying the administrator default setting in the listonly if the user is an administrator.
 17. A non-transitorycomputer-readable storage medium, comprising: a computer-usable datacarrier storing instructions, the instructions when executed by acomputer causing the computer to control printing by: displaying to theuser a print user interface including selectable document settings on ascreen and a default/saved settings control on the screen whiledisplaying the selectable document settings, the default/saved settingscontrol displaying a list of at least one saved default setting andcommand settings, the at least one saved default setting includingselected ones of the document settings, the command settings allowingthe user to create additional default settings and to delete the atleast one saved default setting the default/saved settings control beingexpandable to show expanded default/saved settings controls whiledisplaying the selectable document settings and the default/savedsettings control being collapsible to show reduced default/savedsettings controls while displaying the selectable document settings; andcontrolling printing of a document to print on the printer using thesaved default setting and the selected ones of the document settings.18. The non-transitory computer-readable storage medium of claim 17,wherein the instructions further comprise instructions causing thecomputer to control printing by receiving an indication from the user tocreate at least one of the additional default settings, and adding theat least one additional default setting to the list when created by theuser.
 19. The non-transitory computer-readable storage medium of claim17, wherein the list includes at least one of an application defaultsetting, a document default setting, a user default setting, and auser-named default setting, and wherein the instructions furthercomprise instructions causing the computer to control printing byreceiving an indication from the user that the user desires to printwith a selected default setting selected from the application defaultsetting, the document default setting, the user default setting, and theuser-named default setting, and controlling printing using selecteddefault setting.
 20. The non-transitory computer-readable storage mediumof claim 19, wherein the instructions further comprise instructionscausing the computer to control printing by: receiving an indicationfrom the user of a change to one of the document settings after the userhas selected the selected default setting; and displaying a visualindication in the default/saved settings control that the user hasselected a document setting different from the document settings savedas the selected default setting.